package cn.z2huo.knowledge.other;

import java.util.List;

/**
 * <p>将列表中的数据分批
 *
 * @author z2huo
 */
class BatchListTest {

    public static void main(String[] args) {

        List<Integer> integerList = List.of(1, 2, 3, 4, 5, 6, 7);

        BatchListTest batchListTest = new BatchListTest();

        batchListTest.batchList(integerList, 2);

    }

    /**
     *
     * @param list          列表
     * @param batchSize     批次大小
     */
    public void batchList(List<Integer> list, int batchSize) {
        int size = list.size();
        // 批次数量
        int batchCount = size / batchSize;
        if (size % batchSize != 0) {
            // 如果没有整除，则再增加一个批次
            batchCount++;
        }
        for (int i = 0; i < batchCount; i++) {
            int start = i * batchSize;
            int end = Math.min(start + batchSize, size);
            List<Integer> subList = list.subList(start, end);

            System.out.println(subList);
        }
    }

}
